Storage arrays are computer systems that are designed to store data and efficiently serve data to processing applications. Typically, storage arrays are provisioned for entities that require specific storage capacity and performance. Often, one or more storage arrays are provisioned for entities having multiple clients, local or remote, that require efficient access to mission critical data. In some configurations, storage arrays are installed in data centers, where multiple storage arrays are clustered together to deliver either higher storage capacity and/or performance.
Although storage arrays work well, storage arrays are commonly designed by different manufacturers in unique custom configurations. For example, these unique custom configurations provide for routing between compute modules and storage drives that may be connected to the storage array. Although this works, manufacturers of storage arrays must continue to redesign internal systems depending on the types of drives and protocols to be serviced. As the options for drive types and protocols continue to change and evolve, manufacturers of storage arrays also must continue to change their designs, which increases cost and design cycles. What is needed is an infrastructure that enables modularity and capability to be changed with minimal configuration.
It is in this context that embodiments of this disclosure arise.